/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2024 All Rights Reserved.
 */
package com.alipay.demo.service;

import com.alipay.api.domain.AppxCategoryVO;
import com.alipay.api.response.AlipayOpenAppItemListQueryResponse;
import com.alipay.api.response.AlipayOpenAppItemQueryResponse;
import com.alipay.api.response.AlipayOpenAppItemTemplateQueryResponse;
import com.alipay.demo.vo.ItemCreateRequest;
import com.alipay.demo.vo.OpenResponse;

import java.util.List;

/**
 * @author jishupei.jsp
 * @version : ItemService, v0.1 2024年05月11日 2:28 下午 jishupei.jsp Exp $
 */
public interface ItemService {
    /**
     * 获取叶子节点商品类目列表（默认获取类目状态为资质已开通的）
     */
    OpenResponse<List<AppxCategoryVO>> getCategories(String itemType, String catStatus);

    /**
     * 查询普通商品模板信息
     */
    OpenResponse<AlipayOpenAppItemTemplateQueryResponse> queryTemplate(String categoryId, String itemType);

    /**
     * 创建售卖类（实物）商品
     */
    OpenResponse<String> createSaleItem(ItemCreateRequest param);

    /**
     * 创建租赁类（实物）商品
     */
    OpenResponse<String> createRentItem(ItemCreateRequest param);

    /**
     * 创建付费充值/兑换类（虚拟）商品
     */
    OpenResponse<String> createVirtualItem(ItemCreateRequest param);

    /**
     * 修改售卖类（实物）商品
     */
    OpenResponse<String> updateItem(ItemCreateRequest param);

    /**
     * 查询商品详情
     */
    OpenResponse<AlipayOpenAppItemQueryResponse> queryItemDetail(String itemId, String outItemId, long needEditSpu);

    /**
     * 分页查询商品列表
     */
    OpenResponse<AlipayOpenAppItemListQueryResponse> queryItemList(String itemId, String outItemId, long pageNum, long pageSize);
}
